﻿using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Shop.BSL.DataContract
{
    [DataContract(Namespace = "http://shop.hanoitown.com")]
    public class Account
    {
        // Properties
        [DataMember]
        public int AccountId { get; set; }
        [DataMember]
        public int? AccountTypeID { get; set; }
        [DataMember]
        public bool ActiveInd { get; set; }
        [DataMember]
        public string BillingCity { get; set; }
        [DataMember]
        public string BillingCompanyName { get; set; }
        [DataMember]
        public string BillingCountryCode { get; set; }
        [DataMember]
        public string BillingEmailId { get; set; }
        [DataMember]
        public string BillingFirstName { get; set; }
        [DataMember]
        public string BillingLastName { get; set; }
        [DataMember]
        public string BillingPhoneNumber { get; set; }
        [DataMember]
        public string BillingPostalCode { get; set; }
        [DataMember]
        public string BillingStateCode { get; set; }
        [DataMember]
        public string BillingStreet { get; set; }
        [DataMember]
        public string BillingStreet1 { get; set; }
        [DataMember]
        public string CompanyName { get; set; }
        [DataMember]
        public string Custom1 { get; set; }
        [DataMember]
        public string Custom2 { get; set; }
        [DataMember]
        public string Custom3 { get; set; }
        [DataMember]
        public string Description { get; set; }
        [DataMember]
        public bool EmailOptIn { get; set; }
        [DataMember]
        public string ExternalAccountNo { get; set; }
        [DataMember]
        public int? ProfileId { get; set; }
        public List<int> Profiles { get; set; }
        [DataMember]
        public int? ReferralAccountId { get; set; }
        [DataMember]
        public decimal? ReferralCommission { get; set; }
        [DataMember]
        public int? ReferralCommissionTypeId { get; set; }
        [DataMember]
        public string ReferralStatus { get; set; }
        [DataMember]
        public string ShipCity { get; set; }
        [DataMember]
        public string ShipCompanyName { get; set; }
        [DataMember]
        public string ShipCountryCode { get; set; }
        [DataMember]
        public string ShipEmailID { get; set; }
        [DataMember]
        public string ShipFirstName { get; set; }
        [DataMember]
        public string ShipLastName { get; set; }
        [DataMember]
        public string ShipPhoneNumber { get; set; }
        [DataMember]
        public string ShipPostalCode { get; set; }
        [DataMember]
        public string ShipStateCode { get; set; }
        [DataMember]
        public string ShipStreet { get; set; }
        [DataMember]
        public string ShipStreet1 { get; set; }
        [DataMember]
        public string Source { get; set; }
        [DataMember]
        public int? SubAccountLimit { get; set; }
        [DataMember]
        public string TaxId { get; set; }
        [DataMember]
        public Guid? UserId { get; set; }
        [DataMember]
        public string Website { get; set; }

        // Methods
        public Account() { }
    }
}
